[6.x] Add assertInputPresent
and assertInputMissing
assertions
#914
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds two assertions:
assertInputPresent
andassertInputMissing
. These assertions use the name of an input to assert if the input is present.These assertions are useful when working with dynamic forms. I often use Livewire to hide input fields based on the value of a radio button. There is currently no convenient way to assert that an input with a specific name is missing. I'd have to add a
dusk=""
orid=""
attribute to the input and then useassertMissing()
. With these new assertions I can assert if an input is missing using its name, making extra attribute necessary.Something to note: the name of the assertions might be slightly misleading. They don't just check
input
elements, but alsotextarea
andselect
elements.I haven't added any tests. I couldn't figure out how to craft a mock that calls itself. This probably wouldn't add much value to the test suite anyway. The new methods use the already tested
assertPresent
andassertMissing
methods.